import request from './request'

/**
 * 获取部门列表
 * @param {Object} params 查询参数
 * @param {number} params.page 页码
 * @param {number} params.pageSize 每页条数
 * @param {string} params.name 部门名称搜索
 * @param {number} params.status 状态
 * @returns {Promise} 返回部门列表
 */
export const getDepartmentList = (params) => {
  return request({
    url: '/depts',
    method: 'GET',
    params
  })
}

/**
 * 获取所有部门
 * @returns {Promise} 返回所有部门列表
 */
export const getAllDepartments = () => {
  return request({
    url: '/depts/list',
    method: 'GET'
  })
}

/**
 * 根据ID查询部门
 * @param {number} id 部门ID
 * @returns {Promise} 返回部门信息
 */
export const getDepartmentById = (id) => {
  return request({
    url: `/depts/${id}`,
    method: 'GET'
  })
}

/**
 * 添加部门
 * @param {Object} data 部门信息
 * @param {string} data.name 部门名称
 * @param {number} data.status 状态
 * @returns {Promise} 返回添加结果
 */
export const addDepartment = (data) => {
  return request({
    url: '/depts',
    method: 'POST',
    data
  })
}

/**
 * 修改部门
 * @param {Object} data 部门信息
 * @param {number} data.id 部门ID
 * @param {string} data.name 部门名称
 * @param {number} data.status 状态
 * @returns {Promise} 返回修改结果
 */
export const updateDepartment = (data) => {
  return request({
    url: '/depts',
    method: 'PUT',
    data
  })
}

/**
 * 删除部门
 * @param {number} id 部门ID
 * @returns {Promise} 返回删除结果
 */
export const deleteDepartment = (id) => {
  return request({
    url: `/depts/${id}`,
    method: 'DELETE'
  })
}